/*
** contains typedefs, macros and similar
*/

#ifndef DEFINITIONS_HPP
#define DEFINITIONS_HPP

#ifndef EBUG
#define DEBUG(x)
#else
#define DEBUG(x) std::cout << #x << ": " << x << std::endl;
#endif

typedef unsigned int Idx;

#define FOREACH(it, data) \
    for (__typeof((data).begin()) it=(data).begin(); it != (data).end(); ++it)

#define FORRANGE(i, N) \
    for (Idx i = 0; i < N; i++)

#endif
